import {UserIntro} from "@/api/user/types";
import {TagVO} from "@/api/tag/types";

/**
 * 题目
 */
export interface Quiz {
    /**
     * 题目id
     */
    id: number;
    /**
     * 提问者简介
     */
    userIntro: UserIntro;
    /**
     * 题目标题
     */
    title: string;
    /**
     * 题目内容
     */
    content: string;
    /**
     * 是否解答 (0否 1是)
     */
    isSolve: number;
    /**
     * 点赞数
     */
    likeNumber: number;
    /**
     * 浏览量
     */
    viewCount: number;
    /**
     * 收藏数
     */
    collectNumber: number;
    /**
     * 题目标签
     */
    tagVOList: TagVO[];
    /**
     * 发表时间
     */
    createTime: string;
}

/**
 * 题目表单
 */
export interface QuizForm {
    /**
     * 题目id
     */
    id?: number;
    /**
     * 题问者id
     */
    userId: number;
    /**
     * 题目标题
     */
    title: string;
    /**
     * 题目内容
     */
    content: string;
    /**
     * 题目图片
     */
    images?: string;
    /**
     * 图片列表
     */
    imgList?: string[];
    /**
     * 标签名
     */
    tagNameList: string[];
}

/**
 * 题目搜索
 */
export interface QuizSearch {
    /**
     * 题目id
     */
    id: number;
    /**
     * 题目标题
     */
    title: string;
    /**
     * 题目内容
     */
    content: string;
}

/**
 * 题目上下篇
 */
export interface QuizPagination {
    /**
     * 题目id
     */
    id: number;
    /**
     * 提问者头像
     */
    avatar: string;
    /**
     * 题目标题
     */
    title: string;
}

/**
 * 题目信息
 */
export interface QuizInfo {
    /**
     * 题目id
     */
    id: number;
    /**
     * 提问者简介
     */
    userIntro: UserIntro;
    /**
     * 题目标题
     */
    title: string;
    /**
     * 题目内容
     */
    content: string;
    /**
     * 题目图片
     */
    images: string;
    /**
     * 图片列表
     */
    imgList: string[];
    /**
     * 点赞数
     */
    likeNumber: number;
    /**
     * 浏览量
     */
    viewCount: number;
    /**
     * 收藏数
     */
    collectNumber: number;
    /**
     * 题目标签
     */
    tagVOList: TagVO[];
    /**
     * 上一题
     */
    lastQuiz: QuizPagination;
    /**
     * 下一题
     */
    nextQuiz: QuizPagination;
    /**
     * 发表时间
     */
    createTime: string;
    /**
     * 更新时间
     */
    updateTime: string;
}

/**
 * 推荐题目(总览一样)
 */
export interface QuizRecommend {
    /**
     * 题目id
     */
    id: number;
    /**
     * 题目标题
     */
    title: string;
    /**
     * 内容
     */
    content: string;
    /**
     * 提问者头像
     */
    avatar: string;
    /**
     * 发布时间
     */
    createTime: string;
}

/**
 * 题目类型，标签
 */
export interface QuizCondition {
    /**
     * 题目id
     */
    id: number;
    /**
     * 题问者id
     */
    userId: number;
    /**
     * 题目标题
     */
    title: string;
    /**
     * 题目标签
     */
    tagVOList: TagVO[];
    /**
     * 发布时间
     */
    createTime: string;
}

/**
 * 题目条件列表
 */
export interface QuizConditionList {
    /**
     * 题目列表
     */
    quizConditionVOList: QuizCondition[];
    /**
     * 条件名
     */
    name: string;
}

/**
 * 推荐题目(总览一样)
 */
export interface QuizRecommend {
    /**
     * 题目id
     */
    id: number;
    /**
     * 题目标题
     */
    title: string;
    /**
     * 提问者头像
     */
    avatar: string;
    /**
     * 发布时间
     */
    createTime: string;
}
